package cn.com.captureNetPacket.iatConfig;

import java.util.Map;
import cn.com.captureNetPacket.model.SignallingInfo;

public interface IatConfig {
 
	public void initIatConfig();
	/**
	 * 
		* <strong>Title: <strong>
		* <p>Description: 第一次会话时调用的接口<p>
		* <p>Company: </p> 
		*<strong>Copyright:</strong> Copyright (c) 2019
		* @version: 1.0
		* @author  ASUS:augustWei
		* @date  2021 下午5:02:59
		* @param rate 发送的语音数据包速率大小，默认8000,8000的倍数。可调用  VoiceInfoPush.setRate方法进行修改
		* @param signallingInfo	信令信息
		* @return
	 */
	String iatOnlineBegin(int rate,SignallingInfo signallingInfo);
	
	/**
	 * 
		* <strong>Title: <strong>
		* <p>Description: 持续写入数组<p>
		* <p>Company: </p> 
		*<strong>Copyright:</strong> Copyright (c) 2019
		* @version: 1.0
		* @author  ASUS:augustWei
		* @date  2021 下午5:00:14
		* @param session_id  第一次建立会话时的会话id标识
		* @param buffer	语音字节数组
		* @param audioStatus 
		* @param signallingInfo  信令信息
		* @return  返回值为map对象，必须返回  含有  result的key  是识别结果。
	 */
	Map<String, Object> iatOnlineWrite(String session_id, byte[] buffer, int audioStatus,SignallingInfo signallingInfo);

	String iatOffline(String ssbparam,SignallingInfo signallingInfo);

	String iatTranslate(String ssbparam,SignallingInfo signallingInfo);
	/**
	 * 
		* <strong>Title: <strong>
		* <p>Description: 语音流结束后会调用此方法，方便关闭,释放识别资源<p>
		* <p>Company: </p> 
		*<strong>Copyright:</strong> Copyright (c) 2019
		* @version: 1.0
		* @author  ASUS:augustWei
		* @date  2021 下午5:07:06
		* @param session_id	 第一次建立会话时的会话id标识
		* @param signallingInfo 信令信息
	 */
	void endSession(String session_id,SignallingInfo signallingInfo);
	/**
	 * 
		* <strong>Title: <strong>
		* <p>Description: 程序启动和关闭释放掉所有的资源<p>
		* <p>Company: </p> 
		*<strong>Copyright:</strong> Copyright (c) 2019
		* @version: 1.0
		* @author  ASUS:augustWei
		* @date  2021 下午5:08:00
	 */
	void destory();

}